package com.jelly.io.nio;

import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;

/**
 * 内存映射文件
 * @author Jelly
 *
 */
public class LargeMappedFiles {
	static int length=0x8FFFFFF; //143 MB (150,994,943 字节)
	public static void main(String[] args) throws Exception {
		MappedByteBuffer out = new RandomAccessFile("test.dat", "rw").getChannel().map(FileChannel.MapMode.READ_WRITE, 0, length);
		for (int i = 0; i < length; i++) {
			out.put((byte)'x');
		}
		System.out.println("Finished writing");
		for (int i =length/2;i<length/2+6;i++) {
			System.out.println((char)out.get(i));
		}
	}
}
